package br.inf.mfpo.fra4and.exemplo;

import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import br.inf.mfpo.fra4and.R;
import br.inf.mfpo.fra4and.activities.Fra4AndListActivity;
import br.inf.mfpo.fra4and.exemplo.adapters.PessoasCursorAdapter;
import br.inf.mfpo.fra4and.exemplo.columns.PessoasColumns;

public class PessoasListActivity extends Fra4AndListActivity<PessoasCursorAdapter> {
	private static final String[] FROM = { PessoasColumns.NOME, PessoasColumns.SEXO };
	private static final int[] TO = { android.R.id.text1, android.R.id.text2 };
	private final int LIST_LAYOUT = android.R.layout.simple_list_item_2;

	// vide getProjection()
	private static final int IDX_NOME = 1;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
	}

	@Override
	protected PessoasCursorAdapter buildAdapter() {
		return new PessoasCursorAdapter(this, LIST_LAYOUT, null, FROM, TO);
	}

	@Override
	protected String getContextMenuTitle(Cursor cursor) {
		return cursor.getString(IDX_NOME);
	}

	@Override
	protected String[] getProjection() {
		return new String[] { PessoasColumns._ID, PessoasColumns.NOME, PessoasColumns.SEXO };
	}

	@Override
	protected boolean canDelete() {
		return true;
	}

	@Override
	protected String getDeleteMessage(int position, Uri selection) {
		Cursor c = (Cursor) getListAdapter().getItem(position);
		if (c == null) {
			return "";
		}
		String name = c.getString(IDX_NOME);
		return getString(R.string.apagar, name);
	}

	@Override
	protected String getDeletedMessage() {
		return getString(R.string.apaguei);
	}

	@Override
	protected String getDeleteErrorMessage() {
		return "";
	}
}